iT邦幫忙

DAY 22
3

從零開始開發Web應用程式系列 第 22

Web應用程式開發-C#資料型態對映DB資料型態

  • 分享至 

  • xImage
  •  

在程式存取資料庫時,或設計資料庫時,對資料庫欄位的形態和程式的物件形態,其對應關係要能有所了解,以便程式在開發時能宣告對應的資料形態變數,以LINQ來說,已自動將資料庫的欄位對應到程式中對應的型別,並且是強型別的對應,下列就一般的對應列舉:
C# MSSQL 佔用bytes Range

bool bit 1 bit 0,1
byte tinyint 1 0到255
short smallint 2 -32768到32767
int int 4 -2147483648到2147483647
long bigint 8 -9223372036854775808到9223372036854775807

float real 4 ±1.5 × 10e-45 to ±3.4 × 10e38
double float 8 ±5.0 × 10e-324 to ±1.7 × 10e308
decimal decimal 9 ±1.0 × 10e-28 to ±7.9 × 10e28

DateTime datetime 8

string nvarchar 最大8000字
string ntext 最大2^30-1字

在做資料存取時,雖然一般來說,資料庫的欄位如DATETIME INT 也可以用字串去存入,但最好還是用原來對應的形態去存取,如INT就用INT去存取,雖然SQL中當成字串組合SQL STATEMENT時也是可以存,另外資料庫存時間的欄位,DATETIME就用DATETIME,常有人開成VARCHAR,當成時間用,而SQL2008後真對時間又有了多種的彈性欄位的形態可選用,這後面的單元會說到,養成好的習慣就不會覺得麻煩,而總是得過且過就永遠都是模糊的解決問題,就如同資料庫要開立個只能存TRUE OR FALSE的欄位,就用bit就可了,但就是有些工程人員不願去多看一些文件,資料庫永遠只有兩種形態的欄位,一個是varchar 一個是int,若是程式中double的形態的資料呢,int怎麼存的下,發現竟然解決方式是程式中把double轉成字串,存入資料庫的varchar,要從資料庫取出資料時,在用程式把varchar也就是程式中的string轉為double,這不但浪費效能,也沒效率,更是敷衍的過且過的做法.


上一篇
Web應用程式開發-資料庫
下一篇
Web應用程式開發-SQL Function
系列文
從零開始開發Web應用程式30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言